SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[paObtenerServiciosSuplenteComunDelAgente]

@Documento INT,
@Organizacion INT = NULL,
@Anio INT,
@Mes INT

-- Actualizado 11/03/2010 - Otero / Sanes, se agrego control para solo aceptar CUISES que corresponden al Usuario

AS

SET NOCOUNT ON
SET DATEFORMAT dmy

DECLARE @Modo INT 
DECLARE @Reparticion INT 

SELECT @Modo = Modo, @Reparticion = IdReparticion FROM Tb_Usuarios WHERE NTUser = SYSTEM_USER


IF @Organizacion IS NULL
	SELECT IdServicioAgente, IdAgente, Documento, ApellidosYNombres, FechaAlta, FechaBaja, Baja, Horas, SituacionRevista, IdSubservicio, IdOrganizacion, IdPlaza, CUPOF 
		FROM vwServiciosAgentes 
		WHERE Documento = @Documento AND IdSituacionRevista = 4
		     AND ((Baja = 'N' AND (@Mes >= MONTH(FechaAlta) AND @Anio >= YEAR(FechaAlta) OR (@Anio >= YEAR(FechaAlta))) ) OR
			(Baja = 'S' AND MONTH(FechaBaja) >= @Mes AND YEAR(FechaBaja) = @Anio) AND
			((@Mes >= MONTH(FechaAlta) AND YEAR(FechaAlta) = @Anio) OR (YEAR(FechaAlta) < @Anio)))
		     AND ((@Modo = 1 AND 1= 1) OR ( @Modo=2 AND IdOrganizacion  IN (SELECT IdOrganizacion  FROM tb_OrganizacionesporReparticion WHERE IdReparticion = @Reparticion )))
		ORDER BY FechaAlta

ELSE
	SELECT IdServicioAgente, IdAgente, Documento, ApellidosYNombres, FechaAlta, FechaBaja, Baja, Horas, SituacionRevista, IdSubservicio, IdOrganizacion, IdPlaza, CUPOF 
		FROM vwServiciosAgentes 
		WHERE Documento = @Documento AND IdSituacionRevista = 4
		     AND ((Baja = 'N' AND (@Mes >= MONTH(FechaAlta) AND @Anio >= YEAR(FechaAlta) OR (@Anio >= YEAR(FechaAlta))) ) OR
			(Baja = 'S' AND MONTH(FechaBaja) >= @Mes AND YEAR(FechaBaja) = @Anio) AND
			((@Mes >= MONTH(FechaAlta) AND YEAR(FechaAlta) = @Anio) OR (YEAR(FechaAlta) < @Anio)))
		     AND (CUISE = @Organizacion)
		ORDER BY FechaAlta
GO
GRANT EXECUTE ON  [dbo].[paObtenerServiciosSuplenteComunDelAgente] TO [GestionInstitucional]
GRANT EXECUTE ON  [dbo].[paObtenerServiciosSuplenteComunDelAgente] TO [PersonalDocente]
GRANT EXECUTE ON  [dbo].[paObtenerServiciosSuplenteComunDelAgente] TO [PersonalDocenteDireccion]
GRANT EXECUTE ON  [dbo].[paObtenerServiciosSuplenteComunDelAgente] TO [SoloVer]
GO
